package com.topfun.misc;

import com.topfun.utils.WechatUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by huangda on 2017/9/28.
 * token task
 */
public final class AccessTokenTask extends Thread {

    // ===========================================================
    // Constants
    // ===========================================================
    private static Logger logger = LoggerFactory.getLogger(AccessTokenTask.class);

    private boolean isRunning;

    public AccessTokenTask() {
        this.isRunning = true;
    }

    public void stopRunning() {this.isRunning = false;}


    // ===========================================================
    // Fields
    // ===========================================================

    // ===========================================================
    // Constructors
    // ===========================================================

    // ===========================================================
    // Getter &amp; Setter
    // ===========================================================

    // ===========================================================
    // Methods for/from SuperClass/Interfaces
    // ===========================================================
    @Override
    public void run() {
        while (this.isRunning) {
            try {
                logger.info("AccessTokenTask in ...");
                WechatUtil.accessToken = WechatUtil.getAccessToken();
                if (null != WechatUtil.accessToken) {
                    logger.info(String.format("get token is %s ! ticket is %s !", WechatUtil.accessToken.getToken(), WechatUtil.accessToken.getTicket()));
                }
                Thread.sleep(7000 * 1000);//7000s
            } catch (InterruptedException e) {
                logger.warn("AccessTokenTask error!");
            }
        }
    }
    // ===========================================================
    // Methods
    // ===========================================================

    // ===========================================================
    // Inner and Anonymous Classes
    // ===========================================================
}
